perm filename LISP.AX[E81,JMC] blob
sn#605808 filedate 1981-08-13 generic text, type T, neo UTF8
(proof lisp)
(DECL (U V W) |GROUND| VARIABLE LIST)
(DECL (X Y Z) |GROUND| VARIABLE SEXP)
(decl (a b c) |ground| variable)
(decl phi |ground→truthval| variable)
(DECL (NNIL) |GROUND| CONSTANT LIST)
(DECL (CONS) |GROUND⊗GROUND→GROUND| CONSTANT)
(DECL (CAR CDR) |GROUND→GROUND| CONSTANT)
(DECL (NULL) |GROUND→TRUTHVAL| CONSTANT)
(DECL (list) |GROUND→TRUTHVAL| CONSTANT)
(DECL (sexp) |GROUND→TRUTHVAL| CONSTANT)
(axiom |∀u.list(u)|)
(axiom |∀u.sexp(u)|)
(axiom |∀x.sexp(x)|)
(AXIOM |∀X U.list(CONS(X,U))|)
(AXIOM |∀U.NULL(U)≡U=NNIL|)
(axiom |∀x u.¬null(cons(x,u))|)
(axiom |∀x u.car(cons(x,u)) = x|)
(axiom |∀x u.cdr(cons(x,u)) = u|)
(decl copy |ground→ground| constant)
(axiom |∀u.copy(u) = if null(u) then nnil else cons(car(u),copy(cdr(u)))|)
(axiom |∀phi.phi(nnil) ∧ (∀x u.phi(u) ⊃ phi(cons(x,u))) ⊃ ∀u.phi(u)|)
(∀e phi |λv.(copy(v)=v)| 21 14)